package com.ukadas.eduko.modelo;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;

import com.ukadas.eduko.modelo.tipos.TipoEC;

@Entity
@PrimaryKeyJoinColumn(name="id_persona")
@Table(name="familiares")
public class Familiar extends Persona implements Serializable{
	
	private static final long serialVersionUID = 1L;

	@Column(length=50, unique=true)
	private String matricula;
	
	@ManyToOne
	@JoinColumn(name="id_ec", referencedColumnName="id_ec")
	private TipoEC estadoCivil;
	
	@ManyToOne
	@JoinColumn(name="id_profesion", referencedColumnName="id_profesion")
	private Profesion profesion;
		
	private boolean pagador=false;
	private boolean recibe=false;
	
	public Familiar() {
		super();
		// TODO Auto-generated constructor stub
	}

	Familiar(int idPersona, String nombre, String primerApellido,
			String segundoApellido, Date fecha, Date alta, String obAlta,
			Date baja, String obBaja, String dni, String alias, byte[] ob,
			byte[] firma, String ss, Nacion nacion, Nacion nacimiento,
			String rh, int filtros, boolean borrado, boolean sexo,
			boolean fallecido) {
		super(idPersona, nombre, primerApellido, segundoApellido, fecha, alta, obAlta,
				baja, obBaja, dni, alias, ob, firma, ss, nacion, nacimiento, rh,
				filtros, borrado, sexo, fallecido);
		// TODO Auto-generated constructor stub
	}

	Familiar(String matricula, TipoEC estadoCivil, Profesion profesion,
			boolean pagador, boolean recibe) {
		super();
		this.matricula = matricula;
		this.estadoCivil = estadoCivil;
		this.profesion = profesion;
		this.pagador = pagador;
		this.recibe = recibe;
	}

	public String getMatricula() {
		return matricula;
	}

	public void setMatricula(String matricula) {
		this.matricula = matricula;
	}

	public TipoEC getEstadoCivil() {
		return estadoCivil;
	}

	public void setEstadoCivil(TipoEC estadoCivil) {
		this.estadoCivil = estadoCivil;
	}

	public Profesion getProfesion() {
		return profesion;
	}

	public void setProfesion(Profesion profesion) {
		this.profesion = profesion;
	}

	public boolean isPagador() {
		return pagador;
	}

	public void setPagador(boolean pagador) {
		this.pagador = pagador;
	}

	public boolean isRecibe() {
		return recibe;
	}

	public void setRecibe(boolean recibe) {
		this.recibe = recibe;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	@Override
	public String toString() {
		return "Familiar [matricula=" + matricula + ", estadoCivil="
				+ estadoCivil + ", profesion=" + profesion + ", pagador="
				+ pagador + ", recibe=" + recibe + "]";
	}
	
}

